//
//  CZBarButtonItem.swift
//  NewWeiBo
//
//  Created by x on 15/10/9.
//  Copyright © 2015年 Xia. All rights reserved.
//

import UIKit

class QLBarButtonItem: UIBarButtonItem {
    /**
    实例化一个自定义 UIBarButtonItem 的类方法
    - parameter tittle:    显示的文字
    - parameter imageName: 显示的图片
    - parameter target:    target
    - parameter action:    点击时执行的函数
    - returns: 自定义的 UIBarButtonItem
    */
    class func barButtonItem(title title: String?, imageName: String?, target: AnyObject?, action: Selector) -> QLBarButtonItem{
        //实例化一个 button
        let button = UIButton()
        //为 button 添加点击事件
        button.addTarget(target, action: action, forControlEvents: UIControlEvents.TouchUpInside)
        //判断 tittle 是否有值
        if title?.characters.count > 0 {
            //设置按钮的文字内容
            button.setTitle(title, forState: UIControlState.Normal)
            //设置字体大小
            button.titleLabel!.font = UIFont.systemFontOfSize(14)
            //设置显示颜色
            button.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
            //设置高亮颜色
            button.setTitleColor(UIColor.orangeColor(), forState: UIControlState.Highlighted)
        }
        //判断是否有图片
        if imageName?.characters.count > 0 {
            //为按钮设置图片
            button.setImage(UIImage(named: imageName!), forState: UIControlState.Normal)
            //设置高亮状态下图片
            button.setImage(UIImage(named: imageName! + "_highlighted"), forState: UIControlState.Highlighted)
        }
        //自动调整 button 尺寸
        button.sizeToFit()
        
        return QLBarButtonItem(customView: button)
    }
}
